package com.gaj.entity.bgrxx;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 定罪量刑表（DZLX）
 *
 * @author gaj
 * @since 2024-01-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dzlx")
public class Dzlx {

    /**
     * 自增ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 协同信息表id（外键关联xtxx）
     */
    private Integer xtxxid;

    /**
     * 被告人基本信息表id（外键关联bgrjbxx）
     */
    private Integer bgrjbxxid;

    /**
     * 判处结果（代码标准：判决结果）
     */
    private Integer pcjg;

    /**
     * 判处结果代码名称
     */
    private String pcjgdmmc;

    /**
     * 宣告无罪事由（代码标准：宣告无罪事由）
     */
    private Integer xgwzsy;

    /**
     * 宣告无罪事由代码名称
     */
    private String xgwzsydmmc;

    /**
     * 不负刑事责任情形（代码标准：不负责任情形）
     */
    private Integer bfxsrzrqx;

    /**
     * 不负刑事责任情形（别名，兼容XML字段BFXSZRQX）
     */
    private Integer bfxszrqx;

    /**
     * 不负刑事责任情形代码名称
     */
    private String bfxsrzrqxdmmc;

    /**
     * 不负刑事责任情形代码名称（别名，兼容XML字段BFXSZRQXDMMC）
     */
    private String bfxszrqxdmmc;

    /**
     * 判决罪名（代码标准：案由）
     */
    private Integer pjzm;

    /**
     * 判决罪名代码名称
     */
    private String pjzmdmmc;

    /**
     * 判决其他罪名（代码标准：案由，可以填写多个）
     */
    private String pjqtzm;

    /**
     * 判决其他罪名代码名称
     */
    private String pjqtzmdmmc;

    /**
     * 是否共同犯罪（代码标准：是否）
     */
    private Integer sfgtfz;

    /**
     * 共同犯罪形态（代码标准：共同犯罪形态）
     */
    private Integer gtfzxt;

    /**
     * 主刑种类（代码标准：主刑种类）
     */
    private Integer zxzl;

    /**
     * 主刑种类代码名称
     */
    private String zxzldmmc;

    /**
     * 是否死刑立即执行（代码标准：是否）
     */
    private Integer sfsxljzx;

    /**
     * 是否死刑立即执行代码名称
     */
    private String sfsxljzxdmmc;

    /**
     * 是否死刑缓期执行（代码标准：是否）
     */
    private Integer sfsxhqzx;

    /**
     * 是否死刑缓期执行代码名称
     */
    private String sfsxhqzxdmmc;

    /**
     * 有期徒刑刑期（月）
     */
    private Integer yqtxqq;

    /**
     * 拘役刑期（月）
     */
    private Integer jyxqq;

    /**
     * 管制刑期（月）
     */
    private Integer gzxqq;

    /**
     * 是否无期徒刑（代码标准：是否）
     */
    private Integer sfwqtx;

    /**
     * 刑期年
     */
    private Integer xqn;

    /**
     * 刑期月
     */
    private Integer xqy;

    /**
     * 刑期日
     */
    private Integer xqr;

    /**
     * 是否剥夺政治权利（代码标准：是否）
     */
    private Integer sfbdzqql;

    /**
     * 剥夺政治权利期限（年）
     */
    private Integer bdzqqlqx;

    /**
     * 剥夺政治权利类型（代码标准：剥夺政治权利类型）
     */
    private Integer bdzzqllx;

    /**
     * 剥夺政治权利年
     */
    private Integer bdzzqln;

    /**
     * 剥夺政治权利月
     */
    private Integer bdzzqly;

    /**
     * 剥夺政治权利日
     */
    private Integer bdzzqlr;

    /**
     * 是否罚金（代码标准：是否）
     */
    private Integer sffj;

    /**
     * 罚金数额
     */
    private BigDecimal fjse;

    /**
     * 是否没收财产（代码标准：是否）
     */
    private Integer sfmscc;

    /**
     * 没收财产类型（代码标准：没收财产类型）
     */
    private Integer msccx;

    /**
     * 没收财产数额
     */
    private BigDecimal msccse;

    /**
     * 没收财产类型（XML节点名：MSCCLX，兼容字段）
     */
    private Integer mscclx;

    /**
     * 是否驱逐出境（代码标准：是否）
     */
    private Integer sfqzcj;

    /**
     * 民事赔偿金额
     */
    private BigDecimal mspcje;

    /**
     * 责令退赔金额
     */
    private BigDecimal zltpje;

    /**
     * 其他财产判项（代码标准：其他财产判项，可以填写多个）
     */
    private String qtccpx;

    /**
     * 其他财产判项代码名称
     */
    private String qtccpxdmmc;

    /**
     * 追缴金额
     */
    private BigDecimal zjje;

    /**
     * 是否限制减刑（代码标准：是否）
     */
    private Integer sfxzjx;

    /**
     * 限制减刑代码名称
     */
    private String xzjxdmmc;

    /**
     * 是否禁止假释（代码标准：是否）
     */
    private Integer sfjzjs;

    /**
     * 禁止假释代码名称
     */
    private String jzjsdmmc;

    /**
     * 是否终身监禁（代码标准：是否）
     */
    private Integer sfzsjj;

    /**
     * 终身监禁代码名称
     */
    private String zsjjdmmc;

    /**
     * 财产刑执行情况（附加刑为罚金、没收财产时必填）
     */
    private String ccxzxqk;

    /**
     * 裁判认定法定情节（代码标准：裁判认定法定情节）
     */
    private Integer cprdfdqj;

    /**
     * 是否改变指控（代码标准：改变指控类型）
     */
    private Integer sfgbzk;

    /**
     * 是否裁定中止（代码标准：是否）
     */
    private Integer sfcdzz;

    /**
     * 是否免于刑事处罚（代码标准：是否）
     */
    private Integer sfmyxscf;

    /**
     * 是否适用禁止令（代码标准：是否）
     */
    private Integer sfsyjzl;

    /**
     * 是否从业禁止（代码标准：是否）
     */
    private Integer sfcyjz;

    /**
     * 从业禁止年限
     */
    private String cyjznx;

    /**
     * 附加刑种类（代码标准：附加刑种类）
     */
    private Integer fjxzl;

    /**
     * 附加刑种类代码名称
     */
    private String fjxzldmmc;

    /**
     * 附加刑适用方式（代码标准：附加刑适用方式）
     */
    private Integer fjxsyfs;

    /**
     * 附加刑适用方式代码名称
     */
    private String fjxsyfsdmmc;

    /**
     * 缓刑考验期年
     */
    private Integer hxkyqn;

    /**
     * 缓刑考验期月
     */
    private Integer hxkyqy;

    /**
     * 缓刑考验期日
     */
    private Integer hxkyqr;

    /**
     * 裁判日期
     */
    private LocalDate cprq;

    /**
     * 裁判文书文号
     */
    private String cpwswh;
}
